//package com.abl.core.common.ws;
//
//import io.netty.channel.ChannelInitializer;
//import io.netty.channel.ChannelPipeline;
//import io.netty.channel.socket.SocketChannel;
//import io.netty.handler.codec.http.HttpObjectAggregator;
//import io.netty.handler.codec.http.HttpServerCodec;
//import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler;
//import io.netty.handler.timeout.IdleStateHandler;
//import jakarta.annotation.Resource;
//import org.springframework.stereotype.Component;
//
//import java.util.concurrent.TimeUnit;
//
//@Component
//public class WebSocketServerInitializer extends ChannelInitializer<SocketChannel> {
//
//    @Resource
//    private WebSocketHandler webSocketHandler;
//
//    @Override
//    protected void initChannel(SocketChannel ch) {
//        ChannelPipeline pipeline = ch.pipeline();
//
//        // 添加 HTTP 编解码器
//        pipeline.addLast(new HttpServerCodec());
//        pipeline.addLast(new HttpObjectAggregator(65536)); // 聚合 HTTP 消息
//
//        // 添加 WebSocket 协议处理器
//        pipeline.addLast(new WebSocketServerProtocolHandler("/ws"));
//
//        // 添加心跳处理器
//        pipeline.addLast(new IdleStateHandler(5, 5, 5, TimeUnit.SECONDS));
//
//        // 添加 WebSocket 处理器
//        pipeline.addLast(webSocketHandler);
//    }
//}
